package com.kaikeba.service.impl;

import com.kaikeba.bean.User;
import com.kaikeba.dao.UserDao;
import com.kaikeba.dao.impl.UserDaoImpl;
import com.kaikeba.service.UserService;

import java.util.List;
import java.util.Map;

public class UserServiceImpl implements UserService {

    private UserDao dao = new UserDaoImpl();

    /**
     * 用户返回控制台中所需的数据
     * {（用戶人數）u_sum：xxx,（日注册量）u_day：xxx}
     *
     * @return
     */
    @Override
    public Map<String, Integer> console() {
        return dao.console();
    }

    /**
     * 查找全部快递并根据参数判断是否分页
     *
     * @param limit      是否分页 true（默认）分页  false 不分页
     * @param offset     起始索引
     * @param pageNumber 单页显示数量
     * @return
     */
    @Override
    public List<User> findAll(boolean limit, int offset, int pageNumber) {
        return dao.findAll(limit,offset,pageNumber);
    }

    /**
     * 根据用户电话号码查询快递信息
     *
     * @param userPhone 用户电话号码
     * @return
     */
    @Override
    public List<User> findByUserPhone(String userPhone) {
        return dao.findByUserPhone(userPhone);
    }

    /**
     * 录入
     *
     * @param e 录入的快递对象
     * @return 录入的结果，true表示成功，false表示失败
     */
    @Override
    public boolean insert(User e) {
        return dao.insert(e);
    }

    /**
     * 用户修改
     *
     * @param id      要修改的用户id
     * @param newUser 新的用户对象（userName，userPhone,identityNumber,password）
     * @return 修改的结果，true表示成功，false表示失败
     */
    @Override
    public boolean update(int id, User newUser) {
        return dao.update(id,newUser);
    }

    /**
     * 删除
     *
     * @param id 需要删除的用户id
     * @return
     */
    @Override
    public boolean delete(int id) {
        return dao.delete(id);
    }

    /**
     * 用于微信端用户的登录
     *
     * @param userPhone 用户手机号码
     * @param password  密码
     * @return
     */
    @Override
    public User login(String userPhone, String password) {
        return dao.login(userPhone,password);
    }
}
